/*
Copyright [2023] [fuwen_soft]
*/
package vip.xiaonuo.modular.xyrule.service;

import com.baomidou.mybatisplus.extension.service.IService;
import vip.xiaonuo.core.pojo.page.PageResult;
import vip.xiaonuo.modular.xyrule.entity.XyRule;
import vip.xiaonuo.modular.xyrule.param.XyRuleParam;
import java.util.List;

/**
 * 规则动态配置表单service接口
 *
 * @author yanwei
 * @date 2023-05-05 17:45:21
 */
public interface XyRuleService extends IService<XyRule> {

    /**
     * 查询规则动态配置表单
     *
     * @author yanwei
     * @date 2023-05-05 17:45:21
     */
    PageResult<XyRule> page(XyRuleParam xyRuleParam);

    /**
     * 规则动态配置表单列表
     *
     * @author yanwei
     * @date 2023-05-05 17:45:21
     */
    List<XyRule> list(XyRuleParam xyRuleParam);

    /**
     * 添加规则动态配置表单
     *
     * @author yanwei
     * @date 2023-05-05 17:45:21
     */
    void add(XyRuleParam xyRuleParam);

    /**
     * 删除规则动态配置表单
     *
     * @author yanwei
     * @date 2023-05-05 17:45:21
     */
    void delete(List<XyRuleParam> xyRuleParamList);

    /**
     * 编辑规则动态配置表单
     *
     * @author yanwei
     * @date 2023-05-05 17:45:21
     */
    void edit(XyRuleParam xyRuleParam);

    /**
     * 查看规则动态配置表单
     *
     * @author yanwei
     * @date 2023-05-05 17:45:21
     */
     XyRule detail(XyRuleParam xyRuleParam);

    /**
     * 导出规则动态配置表单
     *
     * @author yanwei
     * @date 2023-05-05 17:45:21
     */
     void export(XyRuleParam xyRuleParam);

    <T> T  getVal(String id, Class<T> classType);
}
